package app;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import dominio.Cliente;
import dominio.Contado;
import dominio.Cotizacion;
import dominio.Factura;
import dominio.Financiado;
import dominio.ItemCompra;
import dominio.ItemPedido;
import dominio.ItemSolicitud;
import dominio.OrdenCompra;
import dominio.OrdenPedido;
import dominio.Pais;
import dominio.Remito;
import dominio.Rodamiento;
import dominio.SolicitudCotizacion;
import xmlparsers.XMLBuilder;

public class PruebaCrearXML {

	
	public static void main(String[] args) {		
		try {
			
			OrdenPedido op = new OrdenPedido();
			Cliente cli = new Cliente();
			Remito remi = new Remito ();
		
			// crear remito
			
		ItemPedido it = new ItemPedido();
		it.setCantidad(100);
		it.setSerie("6300");
		it.setOrigen(new Pais("Mexico"));
		it.setSufijo("RS");
		it.setMarca("NTN");
		
		ItemPedido it2 = new ItemPedido();
		it2.setCantidad(99);
		it2.setSerie("NJ 208");
		it2.setOrigen(new Pais ("Francia"));
		it2.setSufijo("EMC3");
		it2.setMarca("SNR");
		
		List<ItemPedido> items = new ArrayList<ItemPedido>();
		items.add(it);
		items.add(it2);
		
		
		cli.setCuil("23245345227");
		cli.setRazonSocial("Perez Corp");
		
		op.setCotizacion(null);
		op.setItemsPedido(items);
		
		DateFormat dateformat = new SimpleDateFormat("dd/MM/yyyy");
		op.setFecha(dateformat.parse("28/05/2012"));
		
		op.setNumero(3332);
		op.setCliente(cli);
		remi.setCliente(cli);
		
		SimpleDateFormat dateformat2 = new SimpleDateFormat("dd/MM/yyyy");
		remi.setFechaEmision(dateformat2.parse("29/06/2012"));
		
		remi.setNumero(2342);
		remi.setOrdenPedido(op);
		
		XMLBuilder.getInstance().createRemitoXML (remi, "xmls/remito_created.xml");
		
		// crear orden de compra
		
		OrdenCompra oc = new OrdenCompra ();
			
		ItemCompra ic1 = new ItemCompra ();
		ic1.setCantidad(10);
		ic1.setSerie("22310");
		ic1.setOrigen("Argentina");
		ic1.setSufijo("EKW33");
		ic1.setMarca("SKF");
		
		List<ItemCompra> itemsC = new ArrayList<ItemCompra>();
		itemsC.add(ic1);
		
		oc.setCliente(cli);
		oc.setFecha("25/06.2012");
		oc.setNumero(4352);
		oc.setItemsCompra(itemsC);
		
		XMLBuilder.getInstance().createOrdenCompraXML (oc, "xmls/orden_compra_created.xml");
		
		
		 // crear doc factura
			Factura f = new Factura();
		
			cli.setCondicionIVA("groso");
			f.setCliente(cli);
			f.setFechaEmision(dateformat.parse("16/06/2012"));
			f.setFechaVencimiento(dateformat.parse("28/07/2012"));
		
			Contado c = new Contado ();
			c.setDescuento(23);
			f.setFormaPago(c);
		
			f.setNumero(2342);
			f.setRemito(remi);
		
				XMLBuilder.getInstance().createDocFacturaXML (f, "xmls/doc_factura_created.xml");
		
		
		 // crear doc cotizacion
			
			Cotizacion coti = new Cotizacion ();
			SolicitudCotizacion sc = new SolicitudCotizacion();
			
			coti.setNumero(923421);
			coti.setFecha(dateformat.parse("23/09/2011"));
			coti.setTermino("");
			
			Financiado fin = new Financiado ();
			fin.setCantidadDias(23);
			fin.setRecargo(45);
			coti.setFormaPago(fin);
			
			List<ItemSolicitud> items2 = new ArrayList<ItemSolicitud>();
			
			ItemSolicitud isc1 = new ItemSolicitud ();
			isc1.setCantidad(290);
			
			Rodamiento rod = new Rodamiento();
			rod.setMarca("SKF");
			rod.setNumeroSerie("22310");
			rod.setPrecio(34);
			rod.setOrigen("Argentina");
			rod.setSufijo("EKW33");
			
			isc1.setRodamiento(rod);
			
			items2.add(isc1);
			sc.setItems(items2);
			//coti.setItems(items2);
			sc.setCliente(cli);
			sc.setNumero(32451);
			sc.setFecha(dateformat.parse("05/12/2011"));
			
			coti.setSolicitudCotizacion(sc);
			
			XMLBuilder.getInstance().createCotizaionXML(coti ,"xmls/cotizacion_created.xml" );
		
		
		// crear solicitud de cotizacion
			
			XMLBuilder.getInstance().createSolicitudCotizacionXML(sc, "xmls/solicitud_cotizacion_created.xml");
		
		// crear orden de pedido
		
			op.setCotizacion(coti);
			
			XMLBuilder.getInstance().createOrdenPedidoXML(op, "xmls/orden_pedido_created.xml");

		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

}
